[Chapter 27] 27.5 The V Configuration Command
Author: Bryan Costales & Eric Allman
Date: 1999-01-06T19:49:50Z

#

| Chapter 27 The Configuration File |

## 27.5 The V Configuration Command

The `V` configuration command was added to V8 sendmail to prevent old versions of configuration files from breaking when used with V8 sendmail. The syntax for the `V` configuration command looks like this:

>     Vlevel                  V8.1 and above
>     Vlevel/vendor           V8.6 and above

Here, `level` is a positive integer, and `/vendor` is a string. We will cover the vendor part soon.

If `level` is higher than the maximum allowed for the current version, sendmail prints the following warning and accepts the value:

>     Warning: .cf version level (lev) exceeds program functionality (max)

If `level` is less than 0 or if the `V` configuration command is omitted, the default `level` is 0.

The effects of the various version levels are relatively minor. As sendmail continues to develop, they may become more pronounced. Currently, the version levels are as follows:

0

  The check for a valid shell in /etc/shells is ignored (see Section 22.8.4, "The /etc/shells file").

0-1

  MX records are looked up with the RES_DEFNAMES and RES_DNSRCH cleared. The high bit is always stripped from the body of every mail message.

2+

  The sendmail program automatically adds a `-a.` to the "`host host`" map if that map isn't declared in the configuration file. RES_DEFNAMES and RES_DNSRCH are not turned off as they were for older versions. Rule set 5 behavior is enabled.

0-2

  Set `UseErrorsTo` (`l`) option (see Section 34.8.74, UseErrorsTo (l)) to true automatically.

2+

  Automatically sets the `$w` macro to be the short name instead of the fully qualified local hostname (`$j` still contains the fully qualified name and `$m` the local domain).

3+

  You may use the new-style comments.

0-5

  For V8.7 and above sendmail, level 5 or lower causes the `F=5Aw:|/@` flags to automatically be set for the `local` deliver agent and the `F=o` flag to automatically be set for the `prog` and `*file*` delivery agents.

0-5

  Looking up MX records with `HasWildcardMX` listed with the `ResolverOptions` (`I`) option (see Section 34.8.55, ResolverOptions (I)), causes RES_QUERY to be used in place of RES_SEARCH. Default the `ColonOkInAddr` option (see Section 34.8.9, ColonOkInAddr) to false.

0-6

  Set the `SmtpGreetingMessage` option (see Section 34.8.65, SmtpGreetingMessage or $e) with the value of `$e` if `$e` has a value. Set the `OperatorChars` option (see Section 34.8.45, OperatorChars or $o) with the value of `$o` if `$o` has a value. Beginning with V8.8 sendmail, a level of 6 or less causes the `F=q` flag (see Section 30.8.36, F=q) for the `local`, `prog`, and `*file*` delivery agents to be automatically set.

7

  As of V8.8, the current version.

### 27.5.1 The vendor

Beginning with V8.6 sendmail, the `level` for the version command can be followed by the identity of the vendor. The form of that declaration looks like this:

>     Vlevel/vendor           V8.6 and above

The `/` must immediately follow the `level` with no intervening space. There may be arbitrary space between the `/` and the `vendor`. The string that is the vendor specification may either be one of the following:

Berkeley

  This is a configuration file based on the BSD distribution and is the one you get when you build and install from the source. As of V8.8, this declaration does nothing. If you use this configuration file with another vendor's version of sendmail, the `Berkeley` tells the other version that you are using a configuration file based on the BSD source.

Sun

  This is a configuration file intended for use with Sun's release of sendmail. If it is declared and if you are running Sun's sendmail, the enhancements documented in Appendix Appendix D, Sun Enhancements, become available for your use. If you are not running Sun's sendmail, an error is printed.

If any other string appears in the `vendor` part, sendmail will print the following error and ignore that vendor declaration:

>     invalid V line vendor code: bad vendor name here

Note that vendors other than those shown may have customized their sendmail too, so this may not be a complete list. [3]

> [3] Vendors that enhance their sendmail are strongly encouraged to use a new vendor code.

27.4 Continuation Lines |  | 27.6 Pitfalls